【STM32】IO引脚复用器和映射原理与配置 |
您所在的位置:网站首页 › stm32 引脚复用 › 【STM32】IO引脚复用器和映射原理与配置 |
IO引脚复用器和映射原理与配置
什么是端口复用,STM32引脚怎么复用?
STM32有很多的内置外设(把RTC,ADC,看门狗等外设都集中在芯片里面了),这些外设的外部引脚都是与GPIO复用的。也就是说,一个GPIO如果可以复用为内置外设的功能引脚,那么当这个GPIO作为内置外设使用的时候,就叫做复用。 例如串口1的发送接收引脚是PA9,PA10,当我们把PA9,PA10不用作GPIO,而用做复用功能串口1的发送接收引脚的时候,叫端口复用。 STM32(M4内核以上)的端口复用映射原理STM32系列微控制器IO引脚通过一个复用器连接到内置外设或模块。该复用器一次只允许一个外设的复用功能(AF)连接到对应的IO口。这样可以确保共用同一个1O引脚的外设之间不会发生冲突。
每个I0引脚都有一个复用器,该复用器采用16路复用功能输入(AFO到AF15),可通过GPIOx_AFRL(针对引脚0-7)和GPIOxAFRH(针对引脚8-15)寄存器对这些输入进行配置,每四位控制一路复用。
比如我们要配置PA9,我们把它连接到AF7。相应寄存器位的配置如下: AFRH9 rw rw rw rw 0 1 1 1
PORTA部分端口AF映射表如下:
PA0 PA5 PA8 PA9 PA10 AF7 USART2_CTS SPI1_SCK USART1_CK USART1_TX USART1_RX 对于系统复用功能AF0,我们将I0口连接到AFO之后,还要根据所用功能进行配置: (1)JTAG/SWD:在器件复位之后,会将这些功能引脚指定为专用引脚。也就是说,这些引脚在复位后默认就是JTAG/SWD功能。如果我们要作为GPI0来使用,就需要对对应的I0口复用器进行配置。 (2)RTC_REFIN:此引脚在系统复位之后要使用的话要配置为浮空输入模式。 (3)MCO1和MCO2:这些引脚在系统复位之后要使用的话要配置为复用功能模式。 外设复用功能: 对于ADC和DAC,在GPIOX_MODER寄存器中将所需I/0配置为模拟通道。 对于其它外设: (1)在GPIOX_MODER寄存器中将所需I/O配置为复用功能 (2)通过GPIOX_OTYPER、GPIOX_PUPDR和GPIOX_OSPEEDER 寄存器,分别选择类型、上拉/下拉以及输出速度 (3)在GPIOX_AFRL 或GPIOX_AFRH寄存器中,将I/O连接到所需AFx 引脚复用配置过程?端口复用为复用功能配置过程,以PA9,PA10配置为串口1为例 ①GPIO端口时钟使能。 HALRCC_GPIOA_CLK_ENABLEO;//使能GPIO时钟 ②复用外设时钟使能。 比如你要将端口PA9,PA10复用为串口,所以要使能串口时钟。 HAL_RCC_USART1_CLK_ENABLEO;//使能GPIO时钟 ③端口模式配置为复用功能。HAL_GPIO_Init函数。 GPIO_Initure.Mode=GPIO_MODE_AF_PP;//复用推挽输出 ④配置GPIOX_AFRL或者GPIOX_AFRH寄存器,将IO连接到所需的AFx。HAL_GPIO_Init函数。 GPIO Initure.Alternate=GPIO AF7_USART1;//复用为USART1 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |